class PersonCl {
  public name: string
  private age: number //private 修饰符 代表定义的变量私有的只能在内部访问 不能在外部访问
  protected some: any //protected 修饰符 代表定义的变量私有的只能在内部和继承的子类中访问 不能在外部访问
  static a: number // static 定义的属性 不可以通过this 去访问 只能通过类名去调用

  constructor(name: string, ages: number, some: any) {
    this.name = name
    this.age = ages
    this.some = some
  }
  run() {}
  // static 静态函数 同样也是不能通过this 去调用 也是通过类名去调用
  // 如果两个函数都是static 静态的是可以通过this互相调用
  static run1() {
    this.a
  }
  static run2() {
    this.run1()
  }
}

class Man1 extends PersonCl {
  constructor() {
    super('张三', 18, 1)
    console.log(this.some)
  }
  create() {
    console.log(this.some)
  }
}
let xiaoman = new PersonCl('小满', 18, 1)
let man1 = new Man1()
// man1.some // 错误
